﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MyClever.Lib
{
    /// <summary>
    /// Part of "Composite Design Pattern"
    /// The 'Component' Treenode
    /// </summary>
    public abstract class MissionPluginNode
    {
        protected int id;
        protected MissionPluginLoopNode parentNode;
        
        public abstract int ID { get; }
        public abstract MissionPluginLoopNode Parent { get; set; }

        public abstract void Append(MissionPluginNode pluginNode);
        public abstract void Add(MissionPluginNode pluginNode, RelativePluginPosition relativePluginPosition);
        //public abstract void Clear();
        //public abstract void Remove(MissionPluginNode pluginNodeElement);
        public abstract void GetPlugins(ref List<MissionPluginProxy> plugins);
    }
}
